package com.jinmdz.fmis.api.admin.model.systemmenu;

import com.jinmdz.fmis.common.annotation.AnValidate;
import com.jinmdz.fmis.common.constant.EValidateCode;
import com.jinmdz.fmis.core.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 系统菜单保存请求数据
 *
 * @author LiCongLu
 * @date 2020-03-18 15:37
 */
@ApiModel(value = "系统菜单保存请求数据", description = "系统菜单保存请求数据")
public class SystemMenuSaveData extends BaseBean {
    /**
     * 主键
     */
    @AnValidate(name = "主键", code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "主键", name = "id", position = 1)
    private Integer id;

    /**
     * 业务系统主键
     */
    @AnValidate(name = "业务系统主键", required = true, code = EValidateCode.GREATER_ZERO)
    @ApiModelProperty(value = "业务系统主键", name = "businessSystemId", position = 2)
    private Integer businessSystemId;

    /**
     * 父业务菜单外键
     */
    @AnValidate(name = "父业务菜单外键", required = true, code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "父业务菜单外键", name = "parentId", position = 3)
    private Integer parentId;

    /**
     * 菜单名称
     */
    @AnValidate(name = "菜单名称", required = true)
    @ApiModelProperty(value = "菜单名称", name = "menuName", position = 4)
    private String menuName;

    /**
     * 菜单路由
     */
    @AnValidate(name = "菜单路由", required = true)
    @ApiModelProperty(value = "菜单路由", name = "menuRoute", position = 5)
    private String menuRoute;

    /**
     * 菜单重定向路由
     */
    @AnValidate(name = "菜单重定向路由")
    @ApiModelProperty(value = "菜单重定向路由", name = "menuRedirectRoute", position = 6)
    private String menuRedirectRoute;

    /**
     * 菜单图标，element-ui中样式名称
     */
    @AnValidate(name = "菜单图标，element-ui中样式名称", required = true)
    @ApiModelProperty(value = "菜单图标，element-ui中样式名称", name = "menuIcon", position = 7)
    private String menuIcon;

    /**
     * 禁用状态
     */
    @AnValidate(name = "禁用状态", required = true, code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "禁用状态", name = "disableState", position = 8)
    private Integer disableState;

    /**
     * 排序
     */
    @AnValidate(name = "排序", code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "排序", name = "sort", position = 9)
    private Integer sort;

    /**
     * 备注
     */
    @AnValidate(name = "备注")
    @ApiModelProperty(value = "备注", name = "remark", position = 10)
    private String remark;

    /**
     * 数据版本号
     */
    @AnValidate(name = "数据版本号")
    @ApiModelProperty(value = "数据版本号", name = "version", position = 11)
    private Long version;

    public Integer getId() {
        return id;
    }

    public SystemMenuSaveData setId(Integer id) {
        this.id = id;
        return this;
    }

    public Integer getBusinessSystemId() {
        return businessSystemId;
    }

    public SystemMenuSaveData setBusinessSystemId(Integer businessSystemId) {
        this.businessSystemId = businessSystemId;
        return this;
    }

    public Integer getParentId() {
        return parentId;
    }

    public SystemMenuSaveData setParentId(Integer parentId) {
        this.parentId = parentId;
        return this;
    }

    public String getMenuName() {
        return menuName;
    }

    public SystemMenuSaveData setMenuName(String menuName) {
        this.menuName = menuName;
        return this;
    }

    public String getMenuRoute() {
        return menuRoute;
    }

    public SystemMenuSaveData setMenuRoute(String menuRoute) {
        this.menuRoute = menuRoute;
        return this;
    }

    public String getMenuRedirectRoute() {
        return menuRedirectRoute;
    }

    public SystemMenuSaveData setMenuRedirectRoute(String menuRedirectRoute) {
        this.menuRedirectRoute = menuRedirectRoute;
        return this;
    }

    public String getMenuIcon() {
        return menuIcon;
    }

    public SystemMenuSaveData setMenuIcon(String menuIcon) {
        this.menuIcon = menuIcon;
        return this;
    }

    public Integer getDisableState() {
        return disableState;
    }

    public SystemMenuSaveData setDisableState(Integer disableState) {
        this.disableState = disableState;
        return this;
    }

    public Integer getSort() {
        return sort;
    }

    public SystemMenuSaveData setSort(Integer sort) {
        this.sort = sort;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public SystemMenuSaveData setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    public Long getVersion() {
        return version;
    }

    public SystemMenuSaveData setVersion(Long version) {
        this.version = version;
        return this;
    }
}
